from skimage import io
import skimage
import numpy as np
import matplotlib.pyplot as plt
from scipy.ndimage import gaussian_filter, uniform_filter
import pickle
import imageio
from pathlib import Path
from matplotlib.pyplot import show
from argparse import ArgumentParser
from pyoptflow.plots import compareGraphs
from PIL import Image
import os
from scipy.signal import argrelextrema
from skimage import exposure
import matplotlib
import matplotlib.animation
from IPython.display import HTML
matplotlib.rcParams['animation.embed_limit'] = 2**128
import sys
%reload_ext autoreload
%autoreload 2
sys.path.append('..')
from utils.visualization_tools import *
import utils.visualization_tools
from utils.data_transformations import *
import utils.data_transformations
from utils.diverse import *
import utils.diverse
The following modules are available
print_module_methods(utils.diverse)
print_module_methods(utils.visualization_tools)
print_module_methods(utils.data_transformations)
tensor = np.zeros((50,100,100))
tensor[20,20:60,20:60] = 1
tensor = normalize(gaussian_filter(tensor,10))
x_comp_sim, y_comp_sim = horn_schunck(tensor)
tensor.shape
x_comp_sim.shape
%%capture
fig_sim, ax_sim = display_combined(x_comp_sim[0],y_comp_sim[0], tensor[0])
start = 0
frames = 40
def animate(i):
global start, x_comp_sim, y_comp_sim, tensor
i += start
print(".", end ="")
display_combined(x_comp_sim[i], y_comp_sim[i], tensor[i+1], fig=fig_sim, ax=ax_sim)
ani_sim = matplotlib.animation.FuncAnimation(fig_sim, animate, frames=frames)
plt.imshow(x_comp_sim[28]+y_comp_sim[28])
plt.colorbar()
from IPython.display import HTML
HTML(ani_sim.to_jshtml())
Dense optical flow is different from motion detection which becomes visible here. Some patterns in dense optical flow (e.g. saddles) arguably relate to a local peak in activation that occurs at a specific location. If one applies dense optical flow on the neural signals with peaks that do not move but increase/decrease in intensity this is what one will arguably capture when transforming the signal using e.g. Horn and Schuncks method and detecting motion patterns.